/*
 * TacticaVenbea.java
 *
 * Created on 26 de marzo de 2007, 16:49
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package futbol.tacticas.concursantes2007.Venbea1FC;

import futbol.tacticas.*;
import futbol.tacticas.concursantes.Tactica;

import java.awt.*;
import java.util.Vector;

/**
 *
 * @author Administrador
 */
public class TacticaVenbea implements Tactica{
    
    private int nValores[][]={
        {-152,0,7},
        {-100,100,5},
        {-120,30,5},
        {-120,-30,5},        
        {-100,-100,5},
        {20,100,7},
        {-20,30,7},
        {-20,-30,7},
        {20,-100,7},
        {120,30,3},
        {105,-50,7}
    };

    public String getNombre(){
        return "Venbea C.F.";
    }
    
    public Color getColor1(){
        return Color.yellow;
    }
    
    public Color getColor2(){
        return Color.green;
    }
    
    public Color getColorNumero(){
        return Color.pink;
    }
    
    public int getFuerza(int n){
        return nValores[n][2];
    }
    public int getXInicial(int n){
        return nValores[n][0];
    }
    
    public int getYInicial(int n){
        return nValores[n][1];
    }
    
    public Vector<Comando> getComandos(SituacionJugadores sj){
        Vector<Comando> comandos=new Vector();
        for (int n=0;n<11;n++)
            comandos.add(new ComandoIrA(n, nValores[n][0], nValores[n][1]));
        
        
        Point bola=sj.getBola();
        Point mis[]=sj.getMisJugadores();
        Point sus []=sj.getContrario();
        
        int y=(int)(bola.getY()/2);
        if (y<-20) y =-20;
        if (y>20) y=20;
        comandos.add(new ComandoIrA(0,nValores[0][0],y));
        
        //Mejorar defensa
        if (!sj.estoyMasCercaDeBola() || bola.getX()<0){
            for (int n=1;n<5;n++){
                int nJC=sj.getContrarioMasCerca(getXInicial(n), getYInicial(n));
                comandos.add(new ComandoIrA(n, sus[nJC].getX()+10, sus[nJC].getY()));
            }
            
        }   
        
            
       
         //Movimiento mas cercano a la bola
        int nJug=sj.getMasCercanoDeBola();
        comandos.add(new ComandoIrA(nJug,bola.getX(), bola.getY()));
                    
        for (int n=0;n<11;n++){
         
            if (sus[0].y>0)
            comandos.add(new ComandoTiroAPuerta(n,sus[0].y-10));
            else comandos.add(new ComandoTiroAPuerta(n,sus[0].y+10));
        }
        
        return comandos;
    }
    
}
